package com.googlecode.totallylazy.lambda;

import com.googlecode.totallylazy.Function;
import com.googlecode.totallylazy.Function1;
import com.googlecode.totallylazy.Function2;
import com.googlecode.totallylazy.Predicate;

public class Lambdas {
    @parameter
    public static Number n;
    @parameter
    public static Number m;
    @parameter
    public static int i;
    @parameter
    public static int j;
    @parameter
    public static int index;
    @parameter
    public static long k;
    @parameter
    public static long l;
    @parameter
    public static double d;
    @parameter
    public static double x;
    @parameter
    public static double y;
    @parameter
    public static char c;
    @parameter
    public static boolean b;
    @parameter
    public static String s;
    @parameter
    public static String t;
    @parameter
    public static Object o;

    @lambda
    public static <T> Function<T> λ(T result) {
        throw new UnsupportedOperationException();
    }

    @lambda
    public static <I, R> Function1<I, R> λ(I input, R result) {
        throw new UnsupportedOperationException();
    }

    @lambda
    public static <F, S, R> Function2<F, S, R> λ(F first, S second, R result) {
        throw new UnsupportedOperationException();
    }

    @lambda
    public static <T> Function<T> lambda(T result) {
        throw new UnsupportedOperationException();
    }

    @lambda
    public static <I, R> Function1<I, R> lambda(I input, R result) {
        throw new UnsupportedOperationException();
    }

    @lambda
    public static <F, S, R> Function2<F, S, R> lambda(F first, S second, R result) {
        throw new UnsupportedOperationException();
    }

    @lambda
    public static <T> Predicate<T> λp(T input, boolean to) {
        throw new UnsupportedOperationException();
    }

    @lambda
    public static <T> Predicate<T> predicate(T input, boolean to) {
        throw new UnsupportedOperationException();
    }
}
